home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…tion Library 4 (Reseller) / Apple Ref. & Pres. Lib.v4.0.iso / 5-Fonts & Software / Demo Software / FullWrite Professional / FullWrite 1.0 Sampler / FullWrite 1.0 Sampler.rsrc / PREC_103 < prev    next >
Text File  |  1988-06-08  |  5KB  |  358 lines

  1. %%Title: (FullWrite[tm] PostScript Header)
  2. %%Creator: (Ashton-Tate)
  3. % (C) Copyright 1987,1988 Ashton-Tate Corporation.  All Rights Reserved.
  4. %%EndComments
  5. %%BeginProcSet (FullWriteProcSet) 1.0 1
  6. /FW 200 dict def FW begin
  7. /Fd{bind def}bind def
  8. /Fx{exch def}bind def
  9. /Wdv save 72. 0. matrix defaultmatrix dtransform
  10. dup mul exch dup mul add sqrt exch restore
  11. def
  12. /Wpt 8 string def
  13. currentscreen/Wzc Fx/Wzb Fx/Wza Fx
  14. % Next line defines type of screen used for grays.
  15. /Wzz 00000 def
  16. /Frd{
  17. Wdv mul 72 div round 72 mul Wdv div
  18. }Fd
  19. /Fxy{
  20. Frd exch Frd exch
  21. }Fd
  22. /Frc{
  23. 1 index 3 index
  24. 4 2 roll
  25. 5 index 1 index
  26. 1 index 5 index
  27. }Fd
  28. /Fr{
  29. Frc
  30. newpath moveto lineto lineto lineto lineto
  31. }Fd
  32. /Far{
  33. 3 index 3 index W2 arcto 4{pop}repeat
  34. }Fd
  35. /Frr{
  36. 2 index 5 index sub 1 sub 2 div
  37. 2 index 5 index sub 1 sub 2 div
  38. 2 copy ge{exch}if pop
  39. 2 copy ge{exch}if pop
  40. /W2 Fx
  41. Frc
  42. 3 index 3 index
  43. 12 2 roll
  44. W2 add newpath moveto
  45. Far Far Far Far
  46. pop pop
  47. }Fd
  48. /Fss{
  49. Wza
  50. Wzz 0 ne
  51. {pop Wzz -1 ne
  52. {pop Wzz}
  53. if}
  54. {exch 25 mod 0 eq
  55. {pop Wdv 4 div}
  56. if}
  57. ifelse
  58. Wzb/Wzc load setscreen
  59. }Fd
  60. /Fsg{
  61. dup Fss
  62. cvr 100. div 1. exch sub setgray
  63. }Fd
  64. /Fp{
  65. 64. div setgray
  66. Wpt copy pop
  67. 0 eq{0}{90}ifelse 9.375 exch
  68. {1 add 4 mul cvi Wpt exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}
  69. setscreen
  70. }Fd
  71. /Fs{
  72. gsave
  73. 0 setgray 2 setlinecap
  74. exec
  75. stroke
  76. grestore
  77. }Fd
  78. /Ff{
  79. gsave
  80. exch Fsg
  81. newpath exec closepath
  82. fill
  83. grestore
  84. }Fd
  85. /Fsh{
  86. gsave
  87. exch Fsg
  88. exch/W1 Fx
  89. W1 dup translate
  90. newpath W3 copy W3 -1 roll 1 add W3 1 roll exec closepath clip
  91. newpath
  92. W3 copy exec
  93. W1 neg dup translate
  94. exec closepath eofill
  95. grestore
  96. }Fd
  97. /Fsw{
  98. dup 0 le{pop .25}if setlinewidth
  99. }Fd
  100. /Fmf{
  101. /Wt6/Times-Roman findfont [6 0 0 -6 0 0] makefont def
  102. }Fd
  103. /Fln{
  104. /Wt6 where{pop}{Fmf}ifelse
  105. gsave
  106. moveto
  107. 0 setgray Wt6 setfont dup stringwidth pop neg 2 rmoveto show
  108. grestore
  109. }Fd
  110. /Fff{
  111. currentfont/FontInfo known
  112. {/W2 currentfont/FontInfo get def
  113. dup W2 exch known
  114. {W2 exch get true}
  115. {pop false}
  116. ifelse
  117. }
  118. {pop false}
  119. ifelse
  120. }Fd
  121. /Fgv{
  122. Fff
  123. {3 1 roll pop pop 0 exch currentfont/FontMatrix get dtransform exch pop}
  124. {div}
  125. ifelse
  126. Frd
  127. }Fd
  128. /Fgv{
  129. Fff
  130. {exch pop 0 exch currentfont/FontMatrix get dtransform exch pop
  131. Waa mul}
  132. {Wa exch div}
  133. ifelse
  134. Frd
  135. }Fd
  136. /Fup{
  137. 10/UnderlinePosition Fgv abs
  138. }Fd
  139. /Fuw{
  140. 15/UnderlineThickness Fgv abs
  141. }Fd
  142. /Fuu{
  143. Fxy newpath
  144. W3
  145. {moveto 0 currentlinewidth 2 div rmoveto
  146. Frd dup 0 rlineto            
  147. 0 currentlinewidth neg rlineto
  148. neg 0 rlineto
  149. 0 currentlinewidth rlineto
  150. currentlinewidth .25 Frd setlinewidth
  151. gsave 1 setgray fill grestore stroke
  152. setlinewidth}
  153. {moveto Frd 0 rlineto stroke}
  154. ifelse
  155. }Fd
  156. /Ffs{
  157. dup 0 le
  158. {/Wa 2 index def neg div/Waa Fx}
  159. {/Wa Fx/Waa 1. def}
  160. ifelse
  161. }Fd
  162. /Fnp{
  163. Ffs 0 setgray/W3 false def 
  164. }Fd
  165. /Flp{
  166. Fnp Fsg
  167. }Fd
  168. /Fop{
  169. Ffs Fsg/W3 true def 
  170. }Fd
  171. /Ful{
  172. gsave [] 0 setdash 0 setlinecap
  173. exch Fup add exch
  174. Fuw
  175. exch 1 eq
  176. {setlinewidth Fuu}
  177. {dup .45 mul Frd dup setlinewidth
  178. exch .15 mul dup 1 lt{pop 1}if add Frd
  179. 4 copy pop Fuu add Fuu}
  180. ifelse
  181. grestore
  182. }Fd
  183. /Fto{
  184. sub/W3 true def 
  185. }Fd
  186. /Fts{
  187. .5 mul dup 4 1 roll sub 3 1 roll exch add exch/W3 false def 
  188. }Fd
  189. /Fsu{
  190. gsave 4 copy 3 1 roll Fuw Fts 3 -1 roll 0 setgray Ful grestore
  191. 3 1 roll Fuw Fto 3 -1 roll Ful
  192. }Fd
  193. /Fdu{
  194. gsave
  195. [.25 1.5] 0 setdash 0 setlinecap 0 setgray
  196. exch Fup add exch
  197. 72 Wdv div setlinewidth
  198. 1 eq
  199. {Fuu}
  200. {3 copy Fuu 1.25 add Fuu}
  201. ifelse
  202. grestore
  203. }Fd
  204. /Ftl{
  205. gsave
  206. [] 0 setdash 0 setlinecap
  207. Fuw dup setlinewidth 2 div neg add Fuu
  208. grestore
  209. }Fd
  210. /Fsl{
  211. currentlinewidth 4 1 roll
  212. Fuw setlinewidth 
  213. gsave 3 copy currentlinewidth Fts 0 setgray Ftl grestore
  214. currentlinewidth Fto Ftl
  215. setlinewidth
  216. }Fd
  217. /Fshow{
  218. show
  219. }Fd
  220. /Fi{
  221. count 1 sub exch roll/Fi count 1 roll
  222. }Fd
  223. /StartTransform{
  224. currentpoint
  225. count -5 roll
  226. 4 index 4 index translate
  227. rotate
  228. scale
  229. neg exch neg exch translate
  230. moveto
  231. }Fd
  232. /Fgs{
  233. Wk 4 and 0 ne
  234. {count -1 roll}
  235. {100}
  236. ifelse
  237. Fsg
  238. Wk 8 and 0 ne
  239. {StartTransform}
  240. if
  241. }Fd
  242. /Fg{
  243. count -4 roll
  244. /Wk Fx
  245. /Wh Fx
  246. /Wd Fx
  247. pop
  248. Wk 1 and 0 ne
  249. {count -2 roll}
  250. {0 0}
  251. ifelse
  252. 2 copy rmoveto
  253. /Wdy Fx/Wdx Fx
  254. Wk 2 and 0 ne
  255. {count -1 roll}
  256. {0}
  257. ifelse
  258. /Wi exch def
  259. Wk 3 gt
  260. {Fgs}
  261. if
  262. Fex
  263. }Fd
  264. /Fcc{
  265. /Wb 0 def
  266. /Wc 0 def
  267. {32 eq{/Wb Wb 1 add def}if
  268. /Wc Wc 1 add def}
  269. forall
  270. }Fd
  271. /Fq0{
  272. gsave Fg
  273. Wi Wb mul add
  274. Wh sub neg Wd div
  275. /Wj Fx
  276. Wi 0 32 Wj 0 6 -1 roll awidthshow
  277. currentpoint grestore moveto Wdx neg Wdy neg rmoveto
  278. }Fd
  279. /Fq1{
  280. count 2 sub -1 roll pop
  281. count 2 sub Wl -2 mul roll
  282. gsave Fg
  283. Wg Wi We mul add
  284. Wh sub neg Wd div/Wj Fx
  285. 1 1 Wl
  286. {pop setfont Wi 0 32 Wj 0 6 -1 roll awidthshow}
  287. for
  288. currentpoint grestore moveto Wdx neg Wdy neg rmoveto
  289. }Fd
  290. /Fq2{
  291. /Wg Fx
  292. currentfont count 2 sub 2 roll
  293. /Wl 1 def
  294. /We Wb def
  295. /Wf Wc def
  296. /Fq4 count 2 sub 1 roll
  297. }Fd
  298. /Fq3{
  299. Wg add/Wg Fx
  300. currentfont count 3 sub 2 roll
  301. /Wl Wl 1 add def
  302. /We We Wb add def
  303. /Wf Wf Wc add def
  304. Wf count 2 sub index eq
  305. {Fq1}
  306. if
  307. }Fd
  308. /Fq4{
  309. count 3 sub index
  310. /Fq4 eq
  311. {Fq3}
  312. {Fq2}
  313. ifelse
  314. }Fd
  315. /Fq5{
  316. dup Fcc
  317. dup stringwidth pop
  318. count 2 sub index Wc eq
  319. {Fq0}
  320. {Fq4}
  321. ifelse
  322. }Fd
  323. /Frl{
  324. dup/Wx Fx count 1 sub exch roll
  325. Wx count 1 roll/Wx count 1 roll
  326. }Fd
  327. /Fex{
  328. count 1 sub index/Wx eq
  329. {/Wx count -2 roll exch pop count 1 sub exch neg roll
  330. {dup/Wx eq{exit}{load exec}ifelse}loop pop}
  331. if
  332. }Fd
  333. /show{
  334. count 1 sub index/Fi eq
  335. {Fq5}
  336. {Fshow}
  337. ifelse
  338. }Fd
  339. /zFnp{/Fnp}Fd
  340. /zFlp{/Flp}Fd
  341. /zFop{/Fop}Fd
  342. /zFul{/Ful}Fd
  343. /zFsu{/Fsu}Fd
  344. /zFdu{/Fdu}Fd
  345. /zFtl{/Ftl}Fd
  346. /zFsl{/Fsl}Fd
  347. /Fgr{
  348. setgray
  349. }Fd
  350. /setgray{
  351. dup 100. mul round cvi Fss
  352. Fgr
  353. }Fd
  354. /Fapg{64. div Fgr}Fd
  355. /gr{64. div setgray}Fd
  356. /pat{Wpt copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi Wpt exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}setscreen Fapg}Fd
  357. %% End of FullWrite ProcSet
  358.